package k2_oop.p7_javaLang.demo02;

import java.util.Arrays;

public class StringMethod {

    public static void main(String[] args) {

        String str = "   hello world hello 我波哥   ";
        //获取指定索引位置的字符
        System.out.println(str.charAt(1));

        //返回字符串的字符个数(长度)
        System.out.println(str.length());

        //返回字符串的每个字符组成的字节数组
        System.out.println(Arrays.toString(str.getBytes()));

        //两个字符串按字典顺序比较大小，返回正数负数或0
        System.out.println(str.compareTo("world hello"));

        //字符串中是否包含了子串
        System.out.println(str.contains("lla"));

        //字符串拼接
        System.out.println(str.concat("world hello"));

        //判断两个字符串内容是否相等
        System.out.println(str.equals("hello world"));

        //判断字符串是否以某个子串开头 也可以指定起始位置
        System.out.println(str.startsWith("wo",6));

        //判断字符串是否以某个子串结尾
        System.out.println(str.endsWith("ld"));

        //把字符串中所有的目标子串，替换成新的子串
        System.out.println(str.replace("o", "^@_^@"));

        //把字符串中所有符合规则的子串(正则表达式)，替换成新的子串
        System.out.println(str.replaceAll("o", "@^_^@"));

        //把字符串中第一次出现的符合规则的子串(正则表达式)，替换成新的子串
        System.out.println(str.replaceFirst("o", "@^_^@"));

        //截取从起始位置到最后的子串
        System.out.println(str.substring(6));
        //截取从起始位置到终止位置的子串 前闭后开
        System.out.println(str.substring(6,9));

        //按照指定规则的内容对原字符串进行拆分，形成数组
        String[] words = str.split(" ",3);
        System.out.println(Arrays.toString(words));

        //去除的是字符串的左右空格
        System.out.println(str.trim());
        System.out.println(str.replace(" ", ""));

        //把其他类型转成字符串
        System.out.println(String.valueOf(100));
        System.out.println(100+"");

        //把原字符串转成大写或小写
        System.out.println(str.toUpperCase());
        System.out.println(str.toLowerCase());

        //指定子串在原字符串中的索引位置 从左到右第一次出现的位置
        System.out.println(str.indexOf("llll"));
        //指定子串在原字符串中的索引位置 从右到左第一次出现的位置，索引还是从左到右
        System.out.println(str.lastIndexOf("o"));

        String str1 = " \t\n\r";
        //判断字符串是否为 “”
        System.out.println(!str1.isEmpty() && str1!=null);
        //判断字符串中是否都是空白字符
        System.out.println(str1.isBlank());

        //去除两侧空格
        System.out.println(str.strip());
        //去除右侧空格
        System.out.println(str.stripTrailing());
        //去除左侧空格
        System.out.println(str.stripLeading());

        //重复字符串
        System.out.println(str.repeat(5));


        StringBuffer sb = new StringBuffer();
        sb.append("hello");
        sb.append(" world");

        sb.insert(0,"hahaha");

        sb.delete(0,6);

        sb.reverse();

        sb.replace(0,5,"@^_^@");

        String sbStr = sb.toString();
        System.out.println(sbStr);


    }
}
